Online analytical processing or OLAP is a technique in business intelligence applications and comprises providing answers to analytical queries that are multidimensional in nature. Examples of OLAP applications include business reporting for sales, marketing, management reporting, business process management, budgeting and forecasting, financial reporting and the like.
Databases configured for OLAP applications typically comprise a multidimensional data model, often referred to as a “cube”. A multidimensional data model allows for complex analytical queries with rapid execution time. The cube structure comprises aspects of navigational databases and hierarchical databases.
An OLAP cube can be thought of as an extension of the two-dimensional array of a spreadsheet, and comprises dimensions. In the context of an OLAP cube, dimensions provide additional methods for analyzing data. For example, an OLAP cube can be configured to allow a company to analyze financial data by product, by time-period, by city, by type of revenue and cost, and by comparing actual data with a budget. In a further aspect, a user, for example, a financial analyst, may want to view the data in various ways, such as displaying all the cities down the page and all the products across a page. This could be for a specified period, version and type of expenditure. Having seen the data in this particular way the analyst might then immediately wish to view it in another way. The cube structure provides the capability to re-orient the display so that the data displayed now had periods across the page and type of cost down the page. Because this re-orientation involved re-summarizing very large amounts of data, this new view of the data had to be generated efficiently to avoid wasting the analyst's time, i.e. within seconds, and less time than a relational database and conventional report-writer might have taken. According to another aspect, data in a cube may be updated at times, perhaps by different people. This can lead to errors being made, and requiring that corrections or adjustments be made. According to another aspect, it may be desirable to move data between cells (e.g. entities) while preserving the totals, for example, to correct errors or make other evaluations or projections.
It will be appreciated that while an OLAP cube provides a flexible and multidimensional structure data model, there remains a need in the art for improvements, such as, data applications including data acquisition and processing techniques capable of exploiting the capabilities of an OLAP cube.